home *** CD-ROM | disk | FTP | other *** search
- *******************************************************************************
- * Zoom version 1.0 *
- *******************************************************************************
- * Documentation *
- *******************************************************************************
- * © François PAULHIAC, 1993 *
- *******************************************************************************
-
-
- Préliminaires
- -------------
-
- Zoom est FREEWARE, c'est-à dire qu'il est totalement gratuit, mais que vous
- ne pouvez pas vous en servir pour gagner de l'argent en le revendant. Si
- vous voulez redistribuer Zoom, vous ne pouvez pas le faire payer plus de 10FF
- + les frais liés au support sur lequel vous le distribuez (prix d'une
- disquette vierge par exemple, ou prix d'une disquette vierge + frais d'envoi
- s'il est vendu par correspondance).
-
- D'autre part, vous devez redistribuer Zoom toujours avec son fichier source
- et sa documentation (ce fichier, ou une traduction).
-
- Enfin, vous pouvez modifier Zoom et redistribuer des versions
- modifiées, à condition que l'original (programme + documentation +
- source) non altéré soit toujours fourni sur le même support que votre
- version modifiée (si vous le distribuez par disquette, la version
- originale et la version modifiée doivent être sur la même disquette ou
- sur le même groupe de disquettes. Si vous le distribuez via un
- serveur, la version originale et la version modifiée doivent être toutes
- deux disponibles).
-
- Le source est écrit uniquement en Hisoft Basic. Il pourra sembler
- assez hétéroclite, puisque j'ai espacé son écriture sur plusieurs mois.
- Enfin, le nom "Zoom" n'a rien à voir avec le programme!
-
-
-
- Généralités
- -----------
-
- Il s'agit d'un traceur de courbes et de surfaces
- relativement rudimentaire, mais néammoins capable de dessiner des
- courbes du type y fonction de x, des courbes paramétrées, polaires et des
- surfaces du type z fonction de x et y.
-
- Le programme est loin d'être parfait, c'est pourquoi il vaut mieux éviter
- de lui faire tracer des fonctions comportant trop de branches infinies, sous
- peine de "planter" le système.
-
-
-
- Le démarrage
- ------------
-
- Lancez le programme en double-cliquant sur son icône ou en l'appelant par
- son nom depuis le Shell. Vous devriez vous retrouver avec un écran divisé en
- deux parties: en haut, l'espace dans lequel va être tracé la courbe, et en bas
- un rectangle orange contenant différentes zones destinées à recevoir des
- paramêtres que vous allez entrer au clavier.
-
- Le curseur doît se trouver dans le champ intitulé "y=". Frappez alors une
- fonction de x (par exemple "sin x/x"). Vous pouvez utiliser les touches
- curseurs gauche et droite, ainsi que les touches DEL et Backspace pour
- corriger les erreurs eventuelles. Pour effacer complêtement ce que vous venez
- d'entrer, appuyez simultanément sur Alt et X. Pour annuler cette dernière
- maneuvre, appuyez simultanément sur Alt et A.
-
- Lorsque vous avez terminé d'entrer une valeur dans une zone de saisie
- particulière, vous pouvez passer à la suivante en utilisant la touche Return
- ou la touche curseur vers le bas, ou encore revenir à la précedente en
- utilisant la touche curseur vers le haut, ou aller entrer une valeur dans une
- zone quelconque en cliquant à l'intérieur avec la souris.
-
- Par exemple, entrez les valeurs suivantes dans les différents champs:
-
- y="sin(x)/x"
- xmin="-10*pi" xmax="10*pi"
- ymin="-1" ymax="1"
- Axe X="pi" Axe Y="1"
-
- La dernière valeur doît déjà être initialisée, donc vous n'avez pas à la
- modifier.
-
- Appuyez sur F10 pour tracer la courbe, ou encore cliquez sur "Tracer
- (F10)"La courbe devraît apparaître.
-
- La partie du plan dans laquelle vous allez visualiser la courbe est un
- rectangle délimité par quatre points de coordonnées (xmin,ymin), (xmax,ymin),
- (xmax,ymax), (xmin,ymax). Entrez ici ces quatre valeurs.
-
- Enfin, Axe X et Axe Y représentent les pas des graduations qui seront
- dessinées sur les axes des coordonnées.
-
- Le champ "Superposer (F9)" ou la touche F9 servent à représenter plusieurs
- courbes les unes sur les autres. Lorsque vous utiliserez cette option à la
- place de "Tracer", la ou les courbes affichées précedemment ne seront pas
- effacées de l'écran.
-
-
-
- Courbes paramêtrées
- -------------------
-
- Ici, x et y sont tous deux fonctions d'un paramêtre t. Pour passer en mode
- courbes paramêtrées, appuyer sur la touche F2 ou choisissez l'option
- correspondante dans le menu déroulant "Mode".
-
- Voici la signification des différents champs:
-
- * "x=" et "y=" : ce sont deux fonctions de t. Par exemple, entrez
- x="sin(2*t)" et y="sin(3*t)".
-
- * "<=t<=": ici, vous trouverez deux champs dans lesquels vous entrerez
- les valeurs minimales et maximales entre lesquelles va évoluer le paramêtre t.
- Pour l'exemple précédent, entrez "-pi"<=t<="pi".
-
- * "xmin","xmax","ymin","ymax": même signification que pour les courbes
- simples. Entrez ici respectivement "-1","1","-1","1".
-
- * "Axe X","Axe Y": Idem. Laissez les valeurs par défaut pour
- l'exemple.
-
- Appuyez sur F10 pour tracer la courbe de Lissajous...
-
-
-
- Courbes polaires
- ----------------
-
- Ici, on fait toujours varier un paramêtre t pour dessiner la courbe, mais
- il représente maintenant un angle. A partir de cet angle, on calcule une
- distance r fonction de t, puis on affiche sur l'écran un point situé à la
- distance r de l'origine, sur la droite faisant un angle t avec l'horizontale.
- Noter que t et r peuvent être positifs ou négatifs.
-
- La signification des différents champs est la suivante:
-
- * "r=": entrez ici une fonction de l'angle t. Par exemple:
- r=exp(t/10).
-
- * "<=t<=": même signification que pour les courbes paramêtrées. Comme
- il s'agit d'un angle, les valeurs minimales et maximales de t seront en
- général des multiples de pi (tous les angles sont en radian). Entrez
- "-10*pi"<=t<="10*pi".
-
- * "xmax","ymax": ce sont, en valeur absolue, les valeurs maximales que
- pourront prendre les coordonnées x et y des points de la courbe affichée. Ces
- valeurs n'ont nullement besoin d'être exactes, mais cela permet à la courbede
- remplir le plus de place possible sur l'écran. Entrez xmax="exp(pi)" et
- ymax="exp(pi)".
-
- * "Axe X","Axe Y": toujours la même signification. Laissez encore les
- valeurs par défauts.
-
- Appuyez sur F10 pour afficher la spirale...
-
- Un autre exemple (cardioïde):
-
- r="t*t"
- "-pi" <=t<= "pi"
- xmax="pi*pi", ymax="pi*pi"
- Axe X="1", Axe Y="1"
-
-
-
- Surfaces
- --------
-
- Cette fois, il s'agit de l'équivalent en trois dimensions des courbes du
- type y=f(x). On prend une partie rectangulaire du plan, et pour chacun des
- points de ce rectangle, on calcule une côte z. On a donc z fonction de x et de
- y. On représente ensuite les points de coordonnées (x,y,z) obtenus, en les
- visualisant sous un certain angle.
-
- Le champ "z=" contient donc une fonction de x et de y. Par exemple, entrez
- z="x*x-y*y".
-
- Le champ "Correction Z" contient un nombre par lequel toutes les côtes Z
- des points calculés seront multipliées. Ceci sert à mettre en valeur le
- "relief" de la surface. Pour le moment, laissez Correction Z à 1.
-
- Les nombres "xmin","xmax","ymin","ymax" permettent de définir la partie
- rectangulaire du plan pour les points de laquelle on calculera une côte z. Ces
- quatre champs ont donc toujours la même signification. Entrez ici
- respectivement: "-1","1","-1","1".
-
- "zmin" et "zmax" définissent les valeurs minimales et maximales que la
- fonction z définie plus haut pourra prendre sur ce rectangle. Entrez ici
- "-2/10" et "2/10". (Remarque: ne tenez pas compte ici de la valeur entrée dans
- "Correction Z", mais seulement de la fonction écrite plus haut et du rectangle
- dans laquelle on veut la calculer). Ces valeurs n'ont pas besoin d'être
- exacte, elles servent seulement pour l'affichage.
-
- Il n'est pas possible au programme de calculer les côtes de tous les
- points situés dans le rectangle (vu qu'il y en a une infinité...). Donc, il va
- seulement prendre un "échantillon" de points et calculer leurs côtes pour
- représenter la surface. Le grand rectangle défini plus haut sera découpés en
- un certain nombre de mailles, elles-mêmes rectangulaires. "divx" représente le
- nombre de mailles le long du coté du rectangle parallèle à l'axe des X, et
- "divy" le nombre de lailles le long du coté parallèle à l'axe des Y. Entrez
- par exemple divx="40" et divy="40". De manière générale, plus les valeurs de
- "divx" et "divy" seront élevées, plus le tracé sera long mais le dessin
- précis.
-
- "RZ" et "RX" permettent de définir l'angle sous lequel on veut visualiser
- la surface. Comme il s'agit d'une courbe en trois dimensions, il n'est pas
- possible de la représenter intégralement sur le moniteur, mais seulement de la
- projeter.
-
- Considerons deux repères. D'une part celui de l'écran: l'axe des X est
- horizontal de la gauche vers la droite, celui des Y est vertical du bas vers
- le haut; d'autre part celui dans lequel on définit la surface. Nous allons
- faire "tourner" le second repère autour du premier.
-
- Au départ, les deux coïncident: si vous essayez de représenter une surface
- en laissant RZ et RX à zéro, vous ne verrez qu'un quadrillage. En effet,
- puisque l'axe des X du repère de la surface est confondu avec celui de
- l'écran, et que l'axe des Y de la surface est aussi confondu avec celui de
- l'écran, on se retrouve forcément avec l'axe des Z du repère dans lequel on
- trace la surface perpendiculaire à l'écran: du coup, il est impossible de
- distinguer les hauteurs des différents points tracés. Il est donc nécessaire
- de faire tourner le second repère par rapport au premier.
-
- Pour cela le programme procède comme suit:
-
- * A partir de la position initiale, il fait tourner la surface d'un
- angle RZ autour d'un axe perpendiculaire à l'écran;
-
- * Puis, il la faît tourner d'un angle RX autour de l'axe des X de
- l'écran.
-
- Noter que RZ et RX sont tous deux algébriques.
- Pour l'exemple, fixez RZ="pi/3" et RX="pi/3".
-
- Appuyez sur F10 pour afficher le paraboloïde hyperbolique.
-
- * Lors de la définition de la fonction z, vous pouvez utiliser une autre
- variable: r. Elle est égale à la racine carrée de x*x+y*y (r=sqr(x*x+y*y)).
- Elle bien sûr la distance du point de coordonnée(x,y) dont on veut calculer la
- côte à l'origine.
-
- Autre exemple:
-
- z="sin(r)/r", Correction Z="10"
- xmin="-10", xmax="10"
- ymin="-10", ymax="10"
- zmin="-1", zmax="1"
- divx="50", divy="50"
- RZ="pi/6", RX="pi/3"
-
-
-
- Autres fonctionnalités
- ----------------------
-
-
- * Le menu "Mode" permet de choisir entre les différents types de courbes
- proposés et de quitter le programme. Pour chaque option (sauf quitter), un
- raccourci clavier est prévu.
-
-
- * Le menu "option" contient trois rubriques:
-
- - "Tracer Lignes": lors du tracé des courbes (pas des surfaces), cette
- option permet de chosir entre relier ou ne pas relier les points affichés par
- des lignes.
-
- - "Paramêtres": chosir cette option entraîne l'affichage d'un tableau
- permettant le changer la valeur de variables utilisées par le programme pour
- le calcul et l'affichage des courbes.
-
- * "epsilon": lors du tracé des courbes paramétrées ou polaires, le
- programme essaie de rendre les points affichés aussi proche les uns des autres
- que possible, en jouant sur les valeurs du paramêtre t. Il procède comme suit:
-
- - Il calcule les coordonnées des points M1 et M2 correspondant
- à deux valeurs différentes du paramêtre t: t1 et t2=t1+dt.
-
- - Si les deux points sont trop éloignés et que dt est
- supérieur à epsilon, alors il diminue la valeur de dt et recommence.
-
- - Si les deux points sont trop éloignés mais que dt est
- inférieur à epsilon, alors il en conclue que la ou les fonctions utilisées
- pour génerer la courbe ne sont probablement pas continues à cet endroit, et ne
- change pas la valeur de dt.
-
- - Si les deux points à l'écran sont trop proches, il augmente
- la valeur de dt.
-
- * "distance": toujours dans le cas des courbes paramêtrées ou
- polaires, ce nombre permet de fixer la distance optimale entre deux points
- affichés sur l'écran (en pixels). Le programme essayera ensuite de s'y tenir,
- moyennant la procédure expliquée ci-dessus. Plus la valeur de "distance" est
- grand, moins le programme calculera de points, et plus le tracé sera rapide.
- Par contre, les courbes seront moins "lisses".
-
- * "aspect": il s'agit du rapport entre la hauteur et la largeur de
- la zone d'affichage des courbes, exprimées en pixels. Ce nombre permet de
- corriger les déformations dues au fait que cette zone soit rectangulaire, et
- non carrée.
-
- * "Ok" et "Annuler" permettent respectivement de prendre ou de ne
- pas prendre en compte les modifications que vous avez effectuées dans le
- tableau de paramêtres. Vous pouvez aussi appuyer sur ESC au lieu de cliquer
- sur "Annuler"
-
- - "Aide": accessible également par appui sur la touche "Help", cette
- option affiche les fonctions et les opérateurs qui sont compris par le
- programme.
-
-
- * Enfin, si le tracé d'une courbe vous semble trop long, vous pouvez
- appuyer sur "ESC" pour l'interrompre.
-
- =============================================================================
-